A content addressable memory (CAM) is often utilized where very high speed searching applications are required. A CAM operates by comparing a stored value to a searchline value, where a match occurs if the stored value and searchline value are the same. In this case, a CAM matchline is pulled high to rail voltage indicating a match. If the searchline value and stored value are different, the CAM matchline is pulled low, indicating a mismatch.
In a dynamic mismatch CAM, however, a significant amount of energy is consumed to drive the matchlines of the CAM, especially if all of the matchlines in the CAM are pulled high to the rail voltage by precharging before the comparison, or evaluation, phase. Accordingly, techniques have been implemented in order to attempt to reduce the power consumed by the matchlines. For example, in a technique referred to as “low swing matchline sensing”, the matchline is not pulled all the way to the rail voltage, but to some voltage between the reference voltage and the rail voltage. In another technique, a comparison is only performed on one or a few bits of a search word, with the rest of the bits only being compared if the first one or few bits match.
However, the techniques described above sacrifice performance, or add complexity, in order to save power and therefore may not be viable for use in a high performance design.